/*
 * This file is part of FFmpeg.
 *
 * FFmpeg is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * FFmpeg is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with FFmpeg; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 */

/**
 * @file
 * null video filter
 */

#include "avfilter.h"

AVFilterPad avfilter_vf_null_inputs[] = {
	{
		/*name*/ "default",
		/*type*/ AVMEDIA_TYPE_VIDEO,
		/*min_perms*/ 0,
		/*rej_perms*/ 0,
		/*start_frame*/ avfilter_null_start_frame,
		/*get_video_buffer*/ avfilter_null_get_video_buffer,
		/*end_frame*/ avfilter_null_end_frame,
		/*draw_slice*/ 0,
		/*poll_frame*/ 0,
		/*request_frame*/ 0,
		/*config_props*/ 0
	},
	{0}
};
	
AVFilterPad avfilter_vf_null_outputs[] = {
	{
		/*name*/ "default",
		/*type*/ AVMEDIA_TYPE_VIDEO,
		/*min_perms*/ 0,
		/*rej_perms*/ 0,
		/*start_frame*/ 0,
		/*get_video_buffer*/ 0,
		/*end_frame*/ 0,
		/*draw_slice*/ 0,
		/*poll_frame*/ 0,
		/*request_frame*/ 0,
		/*config_props*/ 0
	},
	{0}
};

AVFilter avfilter_vf_null = {
#ifndef MSC_STRUCTS
    .name      = "null",
    .description = NULL_IF_CONFIG_SMALL("Pass the source unchanged to the output."),

    .priv_size = 0,

    .inputs    = (AVFilterPad[]) {{ .name             = "default",
                                    .type             = AVMEDIA_TYPE_VIDEO,
                                    .get_video_buffer = avfilter_null_get_video_buffer,
                                    .start_frame      = avfilter_null_start_frame,
                                    .end_frame        = avfilter_null_end_frame },
                                  { .name = NULL}},

    .outputs   = (AVFilterPad[]) {{ .name             = "default",
                                    .type             = AVMEDIA_TYPE_VIDEO, },
                                  { .name = NULL}},
};
#else
	/*name*/ "null",
	/*priv_size*/ 0,
	/*init*/ 0,
	/*uninit*/ 0,
	/*query_formats*/ 0,
	/*inputs*/ avfilter_vf_null_inputs,
	/*outputs*/ avfilter_vf_null_outputs,
	/*description*/ NULL_IF_CONFIG_SMALL("Pass the source unchanged to the output."),
};
#endif

#if 0
    /*name*/ 0,
    /*priv_size*/ 0,
    /*init*/ 0,
    /*uninit*/ 0,
    /*query_formats*/ 0,
    /*inputs*/ 0,
    /*outputs*/ 0,
	/*description*/ 0
};

{
    /*name*/ 0,
    /*type*/ 0,
    /*min_perms*/ 0,
    /*rej_perms*/ 0,
    /*start_frame*/ 0,
    /*get_video_buffer*/ 0,
    /*end_frame*/ 0,
    /*draw_slice*/ 0,
    /*poll_frame*/ 0,
    /*request_frame*/ 0,
    /*config_props*/ 0
};
#endif